package com.vhall.component.entity.room.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import com.vhall.component.plugin.common.annotation.CheckTimeInterval;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;

/**
 * @author guoxin.wang
 * @date 2021/8/6 12:25
 */
@Data
@CheckTimeInterval(startTime = "beginTime")
public class RoomAdminListReqVO implements Serializable {

    private static final long serialVersionUID = -7770986356413474977L;
    /**
     * 关键词
     */
    @ParamName(value = "keyword")
    @JsonProperty(value = "keyword")
    private String keyWord;
    /**
     * 开始时间-start_time
     */
    @ParamName(value = "start_time")
    @JsonProperty(value = "start_time")
    private String beginTime;
    /**
     * 结束时间-end_time
     */
    @ParamName(value = "end_time")
    @JsonProperty(value = "end_time")
    private String endTime;

    /**
     * 直播状态
     */
    @ParamName(value = "option_status")
    @JsonProperty(value = "option_status")
    private String optionStatus;

    /**
     * 审核状态
     */
    @ParamName(value = "audit_status")
    @JsonProperty(value = "audit_status")
    private List<Integer> auditStatus;


    /**
     * 直播类型
     * <p>
     * 1 页面叫互动直播
     * 2  假直播 页面叫纯直播、视频直播、录制直播
     * 3 点播
     */
    @ParamName(value = "live_types")
    @JsonProperty(value = "live_types")
    private List<Integer> liveTypes;


    private Integer page = 1;

    private Integer pageSize = 10;

    private String token;

    /**
     * 频道id
     */
    @ParamName("page_channel_id")
    @JsonProperty("page_channel_id")
    private Integer pageChannelId;

    public void setDefault() {
        if (Objects.isNull(page)) {
            page = 1;
        }
        if (Objects.isNull(pageSize)) {
            pageSize = 10;
        }
    }

}
